Different threshold voltage levels map to different bits in non-volatile memories. Due to noise, the actual threshold voltage levels for each state within a group of cells of a non-volatile memory page follow a distribution. Controllers of the non-volatile memory will model the threshold voltage distribution of each state. Some controllers use a parametric model for a “flash channel”. The flash channel parameters change with use conditions, such as program and erase (P/E) cycles and retention. Therefore, the controllers track the channel parameters over time. However, the tracking operations consume bandwidth to the memory and utilize storage space for maintaining the channel parameters.
With aggressive scaling down of process technologies, the raw bit error rate (BER) of conventional NAND flash memories is becoming less reliable. To maintain the same level of reliability previously achieved before scaling down, solid state drive (SSD) and non-volatile memory controllers are adopting soft decoded error correction codes, such as low density parity check (LDPC) codes. Such codes are powerful in correcting errors, but need the input to the decoder to be a soft decision of the flash channels. A soft decision normally takes the form of a log-likelihood ratio (LLR). In order to obtain a high quality of a soft decision, multiple reads, often with varying read voltages, are necessary.
In a recovery mode, several sensing voltages are applied to the page cells in sequence in order to obtain a distinct multi-bit pattern that is then mapped to an LLR value to be passed to an LDPC decoder. Patterns that correspond to regions in which the threshold voltage is equally likely to come from either distribution result in a small LLR that approaches zero. On the other hand, when the threshold voltage is much more likely to belong to one distribution than another the LLR becomes very large in the positive or negative directions. However, the LLR is saturated at a certain value that is determined by the difference between the minimum and maximum sensing voltages. If the LLR is saturated but with the wrong sign due to large noise in that particular cell or due to write errors, then the LDPC decoder can be fooled by the resulting high magnitude LLR that results from the corresponding page multi-read retry. The problem is that even a small number of these high reliability errors can result in a higher LDPC error floor compared to the same channel quality when the high reliability errors are absent. The LLR can also be unnecessarily large and the corresponding errors misidentified as reliable when the window defined by the maximum and minimum sensing voltage is too small, or when the second and third applied sensing voltages are too close to the nominal sensing voltage.
It would be desirable to have a recovery strategy that reduces errors misidentified as reliable at each retry, which would reduce the chance of needing more read retries than necessary, as LDPC will be more likely to converge earlier in the read retry process.